The first application of custom searches is the definition of
keyboard shortcuts for frequently used searches, either creating
an agenda buffer, or a sparse tree (the latter covering of course
only the current buffer). Custom
commands are configured in the variable
org-agenda-custom-commands. You can customize this
variable, for example by pressing C-c a C. You can
also directly set it with Emacs Lisp in .emacs. The following example contains all
valid search types:
(setq org-agenda-custom-commands
'(("w" todo "WAITING")
("W" todo-tree "WAITING")
("u" tags "+boss-urgent")
("v" tags-todo "+boss-urgent")
("U" tags-tree "+boss-urgent")
("f" occur-tree "\\<FIXME\\>")
("h" . "HOME+Name tags searches") ; description for "h" prefix
("hl" tags "+home+Lisa")
("hp" tags "+home+Peter")
("hk" tags "+home+Kim")))
The initial string in each entry defines the keys you have to press after the dispatcher command C-c a in order to access the command. Usually this will be just a single character, but if you have many similar commands, you can also define two-letter combinations where the first character is the same in several combinations and serves as a prefix key1. The second parameter is the search type, followed by the string or regular expression to be used for the matching. The example above will therefore define:
[1] You can provide a description for a prefix key by inserting a cons cell with the prefix and the description.